home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1996 / MacHack 1996.toast / Hacks / Hacks ’92 / Run & Stumpy / source / volumeinfo.cp < prev    next >
Encoding:
Text File  |  1992-06-18  |  996 b   |  46 lines  |  [TEXT/MPS ]

  1. // volumeinfo.cp
  2.  
  3. #define SystemSevenOrLater 1
  4.  
  5. #include <errors.h>
  6. #include <memory.h>
  7.  
  8. #ifndef volumeinfo_h
  9. #include "volumeinfo.h"
  10. #endif
  11.  
  12. volumeinfo::volumeinfo( const Str31& name )
  13.   {
  14.     for ( int i=0; i<=name[0]; i++ )
  15.         thename[i]= name[i];
  16.     if ( thename[thename[0]] != ':' )
  17.         thename[++thename[0]]= ':';
  18.     
  19.     pb.volumeParam.ioCompletion= 0;
  20.     pb.volumeParam.ioNamePtr= (StringPtr)&thename;
  21.     pb.volumeParam.ioVRefNum= 0;
  22.     pb.volumeParam.ioVolIndex= -1;
  23.     error= PBHGetVInfoSync( &pb );
  24.   }
  25.  
  26. volumeinfo::volumeinfo( int16 refnum )
  27.   {
  28.     pb.volumeParam.ioCompletion= 0;
  29.     pb.volumeParam.ioNamePtr= (StringPtr)&thename;
  30.     thename[0]= 0;
  31.     pb.volumeParam.ioVRefNum= refnum;
  32.     pb.volumeParam.ioVolIndex= 0;
  33.     error= PBHGetVInfoSync( &pb );
  34.   }
  35.  
  36. boolean volumeinfo::nth( uint16 n )
  37.   {
  38.     pb.volumeParam.ioCompletion= 0;
  39.     pb.volumeParam.ioNamePtr= (StringPtr)&thename;
  40.     thename[0]= 0;
  41.     pb.volumeParam.ioVRefNum= 0;
  42.     pb.volumeParam.ioVolIndex= n;
  43.     error= PBHGetVInfoSync( &pb );
  44.     return error != nsvErr;
  45.   }
  46.